package com.haixiaoke.saas.material.mapper;

import com.haixiaoke.saas.material.domain.MaterialGroup;
import com.haixiaoke.saas.material.domain.MaterialPhoto;

import java.util.List;

/**
 * 图片素材Mapper接口
 * 
 * @author panda
 * @date 2023-12-25
 */
public interface MaterialPhotoMapper {
    /**
     * 查询图片素材
     * 
     * @param id 图片素材主键
     * @return 图片素材
     */
    MaterialPhoto selectMaterialPhotoById(Long photoId);

    /**
     * 查询图片素材列表
     * 
     * @param materialPhoto 图片素材
     * @return 图片素材集合
     */
    List<MaterialPhoto> selectMaterialPhotoList(MaterialPhoto materialPhoto);

    /**
     * 新增图片素材
     * 
     * @param materialPhoto 图片素材
     * @return 结果
     */
    int insertMaterialPhoto(MaterialPhoto materialPhoto);

    /**
     * 修改图片素材
     * 
     * @param materialPhoto 图片素材
     * @return 结果
     */
    int updateMaterialPhoto(MaterialPhoto materialPhoto);

    /**
     * 删除图片素材
     * 
     * @param id 图片素材主键
     * @return 结果
     */
    int deleteMaterialPhotoById(Long id);

    /**
     * 批量删除图片素材
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteMaterialPhotoByIds(Long[] ids);

    /**
     * 软删除图片素材
     * @param materialPhoto 图片素材
     * @return
     */
    int softDeleteMaterialPhotoByIds(MaterialPhoto materialPhoto);

    /**
     * 批量插入图片素材
     * @param materialPhotos    图片素材
     * @return
     */
    int insertBatchMaterialPhoto(List<MaterialPhoto> materialPhotos);

    /**
     * 根据素材组id软删除图片素材
     * @param group
     * @return
     */
    int softDeletePhotoByGroupIds(MaterialGroup group);
}
